リストの掛け算
arr = [[]]*5
arr[0].append(0)
というコードを実行すると何が起きるでしょうか。
私は、
[[0], [], [], [], []]
という結果を期待しましたが、実際には
[[0], [0], [0], [0], [0]]
となります。諦めて内包表記で初期化をしましょう、というお話でした。
arr = [[] for i in range(5)]
Python のリストの扱いで注意することが詳しいです。コメント欄の「pythonインタープリタの気持ちになってみるのはどうでしょう?」が大好きです。